#include <stdio.h>
#include "pid.h"

//模拟读取实际值，根据index获取不同的端口
float readOutPut(int index)
{
	//获取当前的实际值
	
}

//控制信号的设置函数，根据index获取不同的端口
void setControlValue(int index, float v)
{
	//控制信号设置代码
}









PID_CTL pid1, pid2;	//定义两个PID控制器

//模拟20ms定时器中断函数
void timer_20ms_interrupt(void)
{
	//第一个PID控制器运行
	float actualValue = readOutPut(1);			//读取实际值
	float ctl = getPIDCtrlValue(&pid1, actualValue);	//PID计算控制数据
	setControlValue(1, ctl);	//设置对应信号
	
	//第二个PID控制器运行
	actualValue = readOutPut(2);			//读取实际值
	ctl = getPIDCtrlValue(&pid2, actualValue);	//PID计算控制数据
	setControlValue(2, ctl);	//设置对应信号
}

int main(void)
{
	//第一个PID控制器初始化
	setPidParameter(&pid1, 0.5, 0.5, 0.5, 100, 0); 	//设置PID参数
	setPidTarget(&pid1, 50);		//设置输出目标值
	
	//第二个PID控制器初始化
	setPidParameter(&pid2, 0.4, 0.5, 0, 60, 0); 	//设置PID参数
	setPidTarget(&pid2, 20);		//设置输出目标值
	
	//后续通过定时器自动控制输出
	while(1)
	{
		
	}	
	return 0;
}
